package com.dragon.modules.yuegou.entity.park;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.ParkSystem;
import com.dragon.modules.yuegou.enums.park.RecordStatus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 停车记录表实体类<br>
 * 对应的表为：park_record<br>
 * 
 * @author pbuilder generated
 * @date 2022-03-23 18:42:22
 * @company sgy
 * @version 2.0
 */
@TableName("park_record")
@ApiModel(description = "停车记录表")
public class RecordEntity {

    /**  */
	protected String id;

    /** 商圈ID */
	@ApiModelProperty("商圈ID")
	protected String busdId;

    /** 第三方ID */
	@ApiModelProperty("第三方ID")
	protected String thirdId;

    /** [全局枚举]停车系统：0-无忧停车-DAHANWUYOU、1-ETCP-ETCP、2-一点通停车系统-YDT、3-一路停停车系统-TLT、4-科拓停车系统-KT */
	@ApiModelProperty("[全局枚举]停车系统：0-无忧停车-DAHANWUYOU、1-ETCP-ETCP、2-一点通停车系统-YDT、3-一路停停车系统-TLT、4-科拓停车系统-KT")
	protected ParkSystem parkSystem;

    /**  */
	protected String plateNumber;

    /** 入场时间 */
	@ApiModelProperty("入场时间")
	protected LocalDateTime entranceTime;

    /** 总停车费 */
	@ApiModelProperty("总停车费")
	protected BigDecimal parkingFee;

    /** 已缴停车费 */
	@ApiModelProperty("已缴停车费")
	protected BigDecimal paidFee;

    /** 已缴服务费 */
	@ApiModelProperty("已缴服务费")
	protected BigDecimal paidServiceFee;

    /** 剩余代缴总费 */
	@ApiModelProperty("剩余代缴总费")
	protected BigDecimal remainingFee;

    /** 剩余代缴停车费 */
	@ApiModelProperty("剩余代缴停车费")
	protected BigDecimal remainingParkFee;

    /** 剩余代缴服务费 */
	@ApiModelProperty("剩余代缴服务费")
	protected BigDecimal remainingServiceFee;

    /** 停车场ID */
	@ApiModelProperty("停车场ID")
	protected String parkingId;

    /** 优免金额 */
	@ApiModelProperty("优免金额")
	protected BigDecimal discountAmount;

    /** 停车费支付接口验证信息 */
	@ApiModelProperty("停车费支付接口验证信息")
	protected String verificationInfo;

    /** 订单号 */
	@ApiModelProperty("订单号")
	protected String orderNo;

    /** [枚举]订单状态：0-未入场-NOTIN、1-已入场-IN、2-已出场-OUT */
	@ApiModelProperty("[枚举]订单状态：0-未入场-NOTIN、1-已入场-IN、2-已出场-OUT")
	protected RecordStatus status;

    /** 停车券ID */
	@ApiModelProperty("停车券ID")
	protected String couponId;

    /** 停车券抵扣金额 */
	@ApiModelProperty("停车券抵扣金额")
	protected BigDecimal couponDiscountFee;

    /** 支付费用 */
	@ApiModelProperty("支付费用")
	protected BigDecimal payFee;

    /** 支付状态：0-未支付；1-已支付 */
	@ApiModelProperty("支付状态：0-未支付；1-已支付")
	protected Boolean payStatus;

    /** 支付时间 */
	@ApiModelProperty("支付时间")
	protected LocalDateTime payTime;

    /**  */
	protected LocalDateTime failureTime;

    /** 创建时间 */
	@ApiModelProperty("创建时间")
	protected LocalDateTime createdTime;

    /** 修改时间 */
	@ApiModelProperty("修改时间")
	protected LocalDateTime modifiedTime;

    /** 积分抵扣金额 */
	@ApiModelProperty("积分抵扣金额")
	protected BigDecimal integralFee;

    /** 抵扣积分 */
	@ApiModelProperty("抵扣积分")
	protected Integer integral;

	/**
	 * 构造一个空停车记录表实体对象
	 */
	public RecordEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个停车记录表实体对象
	 * 
	 * @param other 其它对象
	 */
	public RecordEntity(RecordEntity other){
		super();
     	this.id = other.id;
     	this.busdId = other.busdId;
     	this.thirdId = other.thirdId;
     	this.parkSystem = other.parkSystem;
     	this.plateNumber = other.plateNumber;
     	this.entranceTime = other.entranceTime;
     	this.parkingFee = other.parkingFee;
     	this.paidFee = other.paidFee;
     	this.paidServiceFee = other.paidServiceFee;
     	this.remainingFee = other.remainingFee;
     	this.remainingParkFee = other.remainingParkFee;
     	this.remainingServiceFee = other.remainingServiceFee;
     	this.parkingId = other.parkingId;
     	this.discountAmount = other.discountAmount;
     	this.verificationInfo = other.verificationInfo;
     	this.orderNo = other.orderNo;
     	this.status = other.status;
     	this.couponId = other.couponId;
     	this.couponDiscountFee = other.couponDiscountFee;
     	this.payFee = other.payFee;
     	this.payStatus = other.payStatus;
     	this.payTime = other.payTime;
     	this.failureTime = other.failureTime;
     	this.createdTime = other.createdTime;
     	this.modifiedTime = other.modifiedTime;
     	this.integralFee = other.integralFee;
     	this.integral = other.integral;
	}


	/**
	 * 获取
	 * 
	 * @return id 
	 */
	public String getId() {
		return id;
	}
  	
	/**
	 * 设置
	 * 
	 * @param id 
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取商圈ID
	 * 
	 * @return busdId 商圈ID
	 */
	public String getBusdId() {
		return busdId;
	}
  	
	/**
	 * 设置商圈ID
	 * 
	 * @param busdId 商圈ID
	 */
	public void setBusdId(String busdId) {
		this.busdId = busdId;
	}

	/**
	 * 获取第三方ID
	 * 
	 * @return thirdId 第三方ID
	 */
	public String getThirdId() {
		return thirdId;
	}
  	
	/**
	 * 设置第三方ID
	 * 
	 * @param thirdId 第三方ID
	 */
	public void setThirdId(String thirdId) {
		this.thirdId = thirdId;
	}

	/**
	 * 获取[全局枚举]停车系统：0-无忧停车-DAHANWUYOU、1-ETCP-ETCP、2-一点通停车系统-YDT、3-一路停停车系统-TLT、4-科拓停车系统-KT
	 * 
	 * @return parkSystem [全局枚举]停车系统：0-无忧停车-DAHANWUYOU、1-ETCP-ETCP、2-一点通停车系统-YDT、3-一路停停车系统-TLT、4-科拓停车系统-KT
	 */
	public ParkSystem getParkSystem() {
		return parkSystem;
	}
  	
	/**
	 * 设置[全局枚举]停车系统：0-无忧停车-DAHANWUYOU、1-ETCP-ETCP、2-一点通停车系统-YDT、3-一路停停车系统-TLT、4-科拓停车系统-KT
	 * 
	 * @param parkSystem [全局枚举]停车系统：0-无忧停车-DAHANWUYOU、1-ETCP-ETCP、2-一点通停车系统-YDT、3-一路停停车系统-TLT、4-科拓停车系统-KT
	 */
	public void setParkSystem(ParkSystem parkSystem) {
		this.parkSystem = parkSystem;
	}

	/**
	 * 获取
	 * 
	 * @return plateNumber 
	 */
	public String getPlateNumber() {
		return plateNumber;
	}
  	
	/**
	 * 设置
	 * 
	 * @param plateNumber 
	 */
	public void setPlateNumber(String plateNumber) {
		this.plateNumber = plateNumber;
	}

	/**
	 * 获取入场时间
	 * 
	 * @return entranceTime 入场时间
	 */
	public LocalDateTime getEntranceTime() {
		return entranceTime;
	}
  	
	/**
	 * 设置入场时间
	 * 
	 * @param entranceTime 入场时间
	 */
	public void setEntranceTime(LocalDateTime entranceTime) {
		this.entranceTime = entranceTime;
	}

	/**
	 * 获取总停车费
	 * 
	 * @return parkingFee 总停车费
	 */
	public BigDecimal getParkingFee() {
		return parkingFee;
	}
  	
	/**
	 * 设置总停车费
	 * 
	 * @param parkingFee 总停车费
	 */
	public void setParkingFee(BigDecimal parkingFee) {
		this.parkingFee = parkingFee;
	}

	/**
	 * 获取已缴停车费
	 * 
	 * @return paidFee 已缴停车费
	 */
	public BigDecimal getPaidFee() {
		return paidFee;
	}
  	
	/**
	 * 设置已缴停车费
	 * 
	 * @param paidFee 已缴停车费
	 */
	public void setPaidFee(BigDecimal paidFee) {
		this.paidFee = paidFee;
	}

	/**
	 * 获取已缴服务费
	 * 
	 * @return paidServiceFee 已缴服务费
	 */
	public BigDecimal getPaidServiceFee() {
		return paidServiceFee;
	}
  	
	/**
	 * 设置已缴服务费
	 * 
	 * @param paidServiceFee 已缴服务费
	 */
	public void setPaidServiceFee(BigDecimal paidServiceFee) {
		this.paidServiceFee = paidServiceFee;
	}

	/**
	 * 获取剩余代缴总费
	 * 
	 * @return remainingFee 剩余代缴总费
	 */
	public BigDecimal getRemainingFee() {
		return remainingFee;
	}
  	
	/**
	 * 设置剩余代缴总费
	 * 
	 * @param remainingFee 剩余代缴总费
	 */
	public void setRemainingFee(BigDecimal remainingFee) {
		this.remainingFee = remainingFee;
	}

	/**
	 * 获取剩余代缴停车费
	 * 
	 * @return remainingParkFee 剩余代缴停车费
	 */
	public BigDecimal getRemainingParkFee() {
		return remainingParkFee;
	}
  	
	/**
	 * 设置剩余代缴停车费
	 * 
	 * @param remainingParkFee 剩余代缴停车费
	 */
	public void setRemainingParkFee(BigDecimal remainingParkFee) {
		this.remainingParkFee = remainingParkFee;
	}

	/**
	 * 获取剩余代缴服务费
	 * 
	 * @return remainingServiceFee 剩余代缴服务费
	 */
	public BigDecimal getRemainingServiceFee() {
		return remainingServiceFee;
	}
  	
	/**
	 * 设置剩余代缴服务费
	 * 
	 * @param remainingServiceFee 剩余代缴服务费
	 */
	public void setRemainingServiceFee(BigDecimal remainingServiceFee) {
		this.remainingServiceFee = remainingServiceFee;
	}

	/**
	 * 获取停车场ID
	 * 
	 * @return parkingId 停车场ID
	 */
	public String getParkingId() {
		return parkingId;
	}
  	
	/**
	 * 设置停车场ID
	 * 
	 * @param parkingId 停车场ID
	 */
	public void setParkingId(String parkingId) {
		this.parkingId = parkingId;
	}

	/**
	 * 获取优免金额
	 * 
	 * @return discountAmount 优免金额
	 */
	public BigDecimal getDiscountAmount() {
		return discountAmount;
	}
  	
	/**
	 * 设置优免金额
	 * 
	 * @param discountAmount 优免金额
	 */
	public void setDiscountAmount(BigDecimal discountAmount) {
		this.discountAmount = discountAmount;
	}

	/**
	 * 获取停车费支付接口验证信息
	 * 
	 * @return verificationInfo 停车费支付接口验证信息
	 */
	public String getVerificationInfo() {
		return verificationInfo;
	}
  	
	/**
	 * 设置停车费支付接口验证信息
	 * 
	 * @param verificationInfo 停车费支付接口验证信息
	 */
	public void setVerificationInfo(String verificationInfo) {
		this.verificationInfo = verificationInfo;
	}

	/**
	 * 获取订单号
	 * 
	 * @return orderNo 订单号
	 */
	public String getOrderNo() {
		return orderNo;
	}
  	
	/**
	 * 设置订单号
	 * 
	 * @param orderNo 订单号
	 */
	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}

	/**
	 * 获取[枚举]订单状态：0-未入场-NOTIN、1-已入场-IN、2-已出场-OUT
	 * 
	 * @return status [枚举]订单状态：0-未入场-NOTIN、1-已入场-IN、2-已出场-OUT
	 */
	public RecordStatus getStatus() {
		return status;
	}
  	
	/**
	 * 设置[枚举]订单状态：0-未入场-NOTIN、1-已入场-IN、2-已出场-OUT
	 * 
	 * @param status [枚举]订单状态：0-未入场-NOTIN、1-已入场-IN、2-已出场-OUT
	 */
	public void setStatus(RecordStatus status) {
		this.status = status;
	}

	/**
	 * 获取停车券ID
	 * 
	 * @return couponId 停车券ID
	 */
	public String getCouponId() {
		return couponId;
	}
  	
	/**
	 * 设置停车券ID
	 * 
	 * @param couponId 停车券ID
	 */
	public void setCouponId(String couponId) {
		this.couponId = couponId;
	}

	/**
	 * 获取停车券抵扣金额
	 * 
	 * @return couponDiscountFee 停车券抵扣金额
	 */
	public BigDecimal getCouponDiscountFee() {
		return couponDiscountFee;
	}
  	
	/**
	 * 设置停车券抵扣金额
	 * 
	 * @param couponDiscountFee 停车券抵扣金额
	 */
	public void setCouponDiscountFee(BigDecimal couponDiscountFee) {
		this.couponDiscountFee = couponDiscountFee;
	}

	/**
	 * 获取支付费用
	 * 
	 * @return payFee 支付费用
	 */
	public BigDecimal getPayFee() {
		return payFee;
	}
  	
	/**
	 * 设置支付费用
	 * 
	 * @param payFee 支付费用
	 */
	public void setPayFee(BigDecimal payFee) {
		this.payFee = payFee;
	}

	/**
	 * 获取支付状态：0-未支付；1-已支付
	 * 
	 * @return payStatus 支付状态：0-未支付；1-已支付
	 */
	public Boolean getPayStatus() {
		return payStatus;
	}
  	
	/**
	 * 设置支付状态：0-未支付；1-已支付
	 * 
	 * @param payStatus 支付状态：0-未支付；1-已支付
	 */
	public void setPayStatus(Boolean payStatus) {
		this.payStatus = payStatus;
	}

	/**
	 * 获取支付时间
	 * 
	 * @return payTime 支付时间
	 */
	public LocalDateTime getPayTime() {
		return payTime;
	}
  	
	/**
	 * 设置支付时间
	 * 
	 * @param payTime 支付时间
	 */
	public void setPayTime(LocalDateTime payTime) {
		this.payTime = payTime;
	}

	/**
	 * 获取
	 * 
	 * @return failureTime 
	 */
	public LocalDateTime getFailureTime() {
		return failureTime;
	}
  	
	/**
	 * 设置
	 * 
	 * @param failureTime 
	 */
	public void setFailureTime(LocalDateTime failureTime) {
		this.failureTime = failureTime;
	}

	/**
	 * 获取创建时间
	 * 
	 * @return createdTime 创建时间
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}
  	
	/**
	 * 设置创建时间
	 * 
	 * @param createdTime 创建时间
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

	/**
	 * 获取修改时间
	 * 
	 * @return modifiedTime 修改时间
	 */
	public LocalDateTime getModifiedTime() {
		return modifiedTime;
	}
  	
	/**
	 * 设置修改时间
	 * 
	 * @param modifiedTime 修改时间
	 */
	public void setModifiedTime(LocalDateTime modifiedTime) {
		this.modifiedTime = modifiedTime;
	}

	/**
	 * 获取积分抵扣金额
	 * 
	 * @return integralFee 积分抵扣金额
	 */
	public BigDecimal getIntegralFee() {
		return integralFee;
	}
  	
	/**
	 * 设置积分抵扣金额
	 * 
	 * @param integralFee 积分抵扣金额
	 */
	public void setIntegralFee(BigDecimal integralFee) {
		this.integralFee = integralFee;
	}

	/**
	 * 获取抵扣积分
	 * 
	 * @return integral 抵扣积分
	 */
	public Integer getIntegral() {
		return integral;
	}
  	
	/**
	 * 设置抵扣积分
	 * 
	 * @param integral 抵扣积分
	 */
	public void setIntegral(Integer integral) {
		this.integral = integral;
	}

    public String toString() {
		return new StringBuilder().append("RecordEntity{").
			append("id=").append(id).
			append(",busdId=").append(busdId).
			append(",thirdId=").append(thirdId).
			append(",parkSystem=").append(parkSystem).
			append(",plateNumber=").append(plateNumber).
			append(",entranceTime=").append(entranceTime).
			append(",parkingFee=").append(parkingFee).
			append(",paidFee=").append(paidFee).
			append(",paidServiceFee=").append(paidServiceFee).
			append(",remainingFee=").append(remainingFee).
			append(",remainingParkFee=").append(remainingParkFee).
			append(",remainingServiceFee=").append(remainingServiceFee).
			append(",parkingId=").append(parkingId).
			append(",discountAmount=").append(discountAmount).
			append(",verificationInfo=").append(verificationInfo).
			append(",orderNo=").append(orderNo).
			append(",status=").append(status).
			append(",couponId=").append(couponId).
			append(",couponDiscountFee=").append(couponDiscountFee).
			append(",payFee=").append(payFee).
			append(",payStatus=").append(payStatus).
			append(",payTime=").append(payTime).
			append(",failureTime=").append(failureTime).
			append(",createdTime=").append(createdTime).
			append(",modifiedTime=").append(modifiedTime).
			append(",integralFee=").append(integralFee).
			append(",integral=").append(integral).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public RecordEntity copy() {
		return new RecordEntity(this);
	}

    /**  */
	public static final String COL_ID = "id";

    /** 商圈ID */
	public static final String COL_BUSD_ID = "busd_id";

    /** 第三方ID */
	public static final String COL_THIRD_ID = "third_id";

    /** [全局枚举]停车系统：0-无忧停车-DAHANWUYOU、1-ETCP-ETCP、2-一点通停车系统-YDT、3-一路停停车系统-TLT、4-科拓停车系统-KT */
	public static final String COL_PARK_SYSTEM = "park_system";

    /**  */
	public static final String COL_PLATE_NUMBER = "plate_number";

    /** 入场时间 */
	public static final String COL_ENTRANCE_TIME = "entrance_time";

    /** 总停车费 */
	public static final String COL_PARKING_FEE = "parking_fee";

    /** 已缴停车费 */
	public static final String COL_PAID_FEE = "paid_fee";

    /** 已缴服务费 */
	public static final String COL_PAID_SERVICE_FEE = "paid_service_fee";

    /** 剩余代缴总费 */
	public static final String COL_REMAINING_FEE = "remaining_fee";

    /** 剩余代缴停车费 */
	public static final String COL_REMAINING_PARK_FEE = "remaining_park_fee";

    /** 剩余代缴服务费 */
	public static final String COL_REMAINING_SERVICE_FEE = "remaining_service_fee";

    /** 停车场ID */
	public static final String COL_PARKING_ID = "parking_id";

    /** 优免金额 */
	public static final String COL_DISCOUNT_AMOUNT = "discount_amount";

    /** 停车费支付接口验证信息 */
	public static final String COL_VERIFICATION_INFO = "verification_info";

    /** 订单号 */
	public static final String COL_ORDER_NO = "order_no";

    /** [枚举]订单状态：0-未入场-NOTIN、1-已入场-IN、2-已出场-OUT */
	public static final String COL_STATUS = "status";

    /** 停车券ID */
	public static final String COL_COUPON_ID = "coupon_id";

    /** 停车券抵扣金额 */
	public static final String COL_COUPON_DISCOUNT_FEE = "coupon_discount_fee";

    /** 支付费用 */
	public static final String COL_PAY_FEE = "pay_fee";

    /** 支付状态：0-未支付；1-已支付 */
	public static final String COL_PAY_STATUS = "pay_status";

    /** 支付时间 */
	public static final String COL_PAY_TIME = "pay_time";

    /**  */
	public static final String COL_FAILURE_TIME = "failure_time";

    /** 创建时间 */
	public static final String COL_CREATED_TIME = "created_time";

    /** 修改时间 */
	public static final String COL_MODIFIED_TIME = "modified_time";

    /** 积分抵扣金额 */
	public static final String COL_INTEGRAL_FEE = "integral_fee";

    /** 抵扣积分 */
	public static final String COL_INTEGRAL = "integral";
}
